#include <stdio.h>          // 标准输入输出库
#include <inttypes.h>       // 提供精确宽度整数类型
#include "esp_log.h"        // ESP-IDF日志库
#include "esp_camera.h"     // ESP32摄像头驱动库
#include "esp_system.h"     // ESP32系统功能库
#include "nvs_flash.h"      // 非易失性存储库

// ESP32-S3-CAM引脚定义
#define CAM_PIN_PWDN     -1  // 电源下降引脚（未使用）
#define CAM_PIN_RESET    -1  // 复位引脚（未使用）
#define CAM_PIN_VSYNC    6   // 垂直同步信号引脚
#define CAM_PIN_HREF     7   // 水平参考信号引脚
#define CAM_PIN_PCLK     13  // 像素时钟引脚
#define CAM_PIN_XCLK     15  // 传感器主时钟引脚
#define CAM_PIN_SIOD     4   // I2C数据引脚（SDA）
#define CAM_PIN_SIOC     5   // I2C时钟引脚（SCL）
#define CAM_PIN_D0       11  // 数据位0引脚
#define CAM_PIN_D1       9   // 数据位1引脚
#define CAM_PIN_D2       8   // 数据位2引脚
#define CAM_PIN_D3       10  // 数据位3引脚
#define CAM_PIN_D4       12  // 数据位4引脚
#define CAM_PIN_D5       18  // 数据位5引脚
#define CAM_PIN_D6       17  // 数据位6引脚
#define CAM_PIN_D7       16  // 数据位7引脚

// 函数声明
esp_err_t init_camera(void);
camera_fb_t* capture_image(void);
void return_fb_buffer(camera_fb_t* fb);